package nape.dynamics;
import nape.geom.AABB;
import nape.geom.Axis;
import nape.geom.Mat23;
import nape.geom.Vec2;
import nape.geom.VecMath;
import nape.util.FastMath;
import nape.util.MixPool;
import nape.util.Names;
import nape.util.NpAlgorithm;
import nape.util.NpList;
import nape.util.NpNode_ZNContact;
import nape.util.NpAllocList_ZNContact;
import nape.util.NpNode_ZNV2;
import nape.util.NpList_ZNV2;
import nape.util.NpNode_Vec2__Dynamic;
import nape.util.NpList_Vec2__Dynamic;
import nape.util.NpNode_ZNShp;
import nape.util.NpList_ZNShp;






class ZNContact {
    
    static public var pool:ZNContact;
    public var pool_next:ZNContact;

    
     public var px:Float; public var py:Float; 
     public var nx:Float; public var ny:Float; 
    
     public var r1x:Float; public var r1y:Float; 
     public var r2x:Float; public var r2y:Float; 

	public var dist:Float; 

	public var nMass:Float; 
	public var tMass:Float;

	public var bounce  :Float;
	public var friction:Float;
	public var bias    :Float;
	public var sBias   :Float; 

	public var jnAcc:Float;  public var pjnAcc:Float; 
	public var jtAcc:Float;  public var pjtAcc:Float; 
 	public var jBias:Float;
	
	public var updated:Bool; 
	public var fresh  :Bool; 
	
	public var hash:Int;
    
    public function new() {}
    
    public inline function free() {}
}
